﻿using _17bang.Entities;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;

namespace _17bang.Repositories
{
    public class MessageRepository
    {
        private static IList<Message> messages;
        static MessageRepository()
        {
            messages = new List<Message>
            {
                new Message
                {
                    Id = 1,
                    CreateTime = DateTime.Now,
                    Kind = "目标",
                    Content="目标：预备班-1-B7Em 2022年04月15日 的未交作业惩罚1枚  帮帮币 将于2022年04月16日 10点26分掉落，" +
                    "请及时登录系统领取，或者马上领取（会扣除10%佣金）以免被他人捡到。"
                },
                new Message
                {
                    Id = 2,
                    CreateTime = DateTime.Now,
                    Kind = "刷新",
                    Content="你因为登录获得系统随机分配给你的 帮帮豆 15 枚，可用于感谢赞赏等。"
                },
                new Message
                {
                    Id = 3,
                    CreateTime = DateTime.Now,
                    Kind = "目标",
                    Content="目标：预备班-1-胡明东 2022年04月13日 的未交作业惩罚10枚  帮帮币 将于2022年04月14日 09点24分掉落" +
                    "，请及时登录系统领取，或者马上领取（会扣除10%佣金）以免被他人捡到。"
                },
                new Message
                {
                    Id = 4,
                    CreateTime = DateTime.Now,
                    Kind = "掉落",
                    Content=" 恭喜！你已晋级到 中级学徒 ，  帮帮币 20枚已掉落，请尽快捡取（后台 - 我的主页 - 侧边栏 - 点击头像下用户名），" +
                    "或者马上领取（会扣除10%佣金）。否则， 2022年04月02日 10点32分后任何人都可捡取（查看规则）。"
                },
                new Message
                {
                    Id = 5,
                    CreateTime = DateTime.Now,
                    Kind = "邀请",
                    Content="用户阑森使用了你的邀请码进行注册，系统奖励你帮帮点 10点"
                },
                new Message
                {
                    Id = 6,
                    CreateTime = DateTime.Now,
                    Kind = "交易",
                    Content="叶飞出售给你的帮帮币已打包（交易单号：81），内含  帮帮币 2000枚，" +
                    "请按约定及时（24小时以内）支付人民币2000元后要求卖方开箱。如有任何问题，可查看查看帮助或联系我们"
                },
            };
        }
        public IList<Message> GetMine(bool onlyNotRead = false) //默认没有未读的消息
        {
            var result = messages;
            if (onlyNotRead)//如果有未读的消息，就只显示未读的消息
            {
                result = messages.Where(m => !m.HasRead).ToList();
            }
            return result;//没有未读消息，即全部已读，就显示所有的消息
        }

        public Message Find(int id)
        {
            return messages.Where(m => m.Id == id).SingleOrDefault();
        }
        public void Delete(Message message)
        {
            messages.Remove(message);
        }
    }
}
